package cn.kgc.spring02.entity.lifecircle;

/**
 * @Author: 课工场
 * @Version: v1.0  2023/4/27
 * @Description:  验证bean的生命周期
 * 1.创建对象  AA()  创建工厂对象时
 * 2.属性初始化  set() 方法被调用
 * 3. init()   完成初始化方法的调用
 * 4. destroy()  工厂关闭时
 *
 * spring 容器中bean的作用域有关
 * singleton   单例的bean   全局只会创建一次   工厂启动时     销毁由spring容器负责  destroy()
 * prototype   原型的bean   获取一次创建一次   获取对象时     spring容器不负责  destroy()
 *
 */
public class AA {

    private String str;
    private Integer number;

    public AA(){
        System.out.println("AA() 无参构造方法被调用");
    }

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        System.out.println(" set() 方法被调用");
        this.str = str;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public void init(){
        System.out.println(" AA init() 初始化方法被调用");
    }


    public void destroy(){
        System.out.println(" AA destroy() 销毁方法被调用");
    }

}
